/*
 * Jogo.java
 * 
 * Versao: 1.0.0
 *
 * Data: 22/04/2011
 *
 * Copyright (C) 2011
 * wsh-systems.
 * Todos os direitos reservados.
 */
package com.wsh.playeronline.persistence.model;

import java.io.Serializable;
import java.util.Collection;

import javax.persistence.Embedded;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * Entity implementation class for Entity: Jogo.
 * 
 * @author Washington
 * @version 1.0, 22/04/2011
 */
@Entity
@Table(name = "tb_jogo")
public class Jogo implements Serializable {

	private static final long serialVersionUID = 54864502361650393L;	
	
	@Id
	@EmbeddedId
	@GeneratedValue
	private EntityKey entityKey;
	
	@Embedded
	private BaseEntity baseEntity;
	
	@ManyToOne
	private Genero genero;
	
	@ManyToOne
	private Plataforma plataforma;
	
	@ManyToOne
	private Produtora produtora;
	
	@ManyToOne
	private Imagem planoFundo;
	
	@ManyToMany
	private Collection<Imagem> imagems;
	
	@ManyToMany
	private Collection<Video> videos;

	private String nome;
	private String descricao;
	private String historia;
	private String siteOficial;
	private Long nota;
		
	/**
	 * Get to entityKey.
	 * 
	 * @return entityKey
	 */
	public EntityKey getEntityKey() {
		return entityKey;
	}
	/**
	 * Set to entityKey.
	 * 
	 * @param entityKey to set entityKey
	 */
	public void setEntityKey(EntityKey entityKey) {
		this.entityKey = entityKey;
	}
	/**
	 * Get to baseEntity.
	 * 
	 * @return baseEntity
	 */
	public BaseEntity getBaseEntity() {
		return baseEntity;
	}
	/**
	 * Set to baseEntity.
	 * 
	 * @param baseEntity to set baseEntity
	 */
	public void setBaseEntity(BaseEntity baseEntity) {
		this.baseEntity = baseEntity;
	}
	/**
	 * Get to genero.
	 * 
	 * @return genero
	 */
	public Genero getGenero() {
		return genero;
	}
	/**
	 * Set to genero.
	 * 
	 * @param genero to set genero
	 */
	public void setGenero(Genero genero) {
		this.genero = genero;
	}
	/**
	 * Get to plataforma.
	 * 
	 * @return plataforma
	 */
	public Plataforma getPlataforma() {
		return plataforma;
	}
	/**
	 * Set to plataforma.
	 * 
	 * @param plataforma to set plataforma
	 */
	public void setPlataforma(Plataforma plataforma) {
		this.plataforma = plataforma;
	}
	/**
	 * Get to produtora.
	 * 
	 * @return produtora
	 */
	public Produtora getProdutora() {
		return produtora;
	}
	/**
	 * Set to produtora.
	 * 
	 * @param produtora to set produtora
	 */
	public void setProdutora(Produtora produtora) {
		this.produtora = produtora;
	}
	/**
	 * Get to planoFundo.
	 * 
	 * @return planoFundo
	 */
	public Imagem getPlanoFundo() {
		return planoFundo;
	}
	/**
	 * Set to planoFundo.
	 * 
	 * @param planoFundo to set planoFundo
	 */
	public void setPlanoFundo(Imagem planoFundo) {
		this.planoFundo = planoFundo;
	}
	/**
	 * Get to imagems.
	 * 
	 * @return imagems
	 */
	public Collection<Imagem> getImagems() {
		return imagems;
	}
	/**
	 * Set to imagems.
	 * 
	 * @param imagems to set imagems
	 */
	public void setImagems(Collection<Imagem> imagems) {
		this.imagems = imagems;
	}
	/**
	 * Get to videos.
	 * 
	 * @return videos
	 */
	public Collection<Video> getVideos() {
		return videos;
	}
	/**
	 * Set to videos.
	 * 
	 * @param videos to set videos
	 */
	public void setVideos(Collection<Video> videos) {
		this.videos = videos;
	}
	/**
	 * Get to nome.
	 * 
	 * @return nome
	 */
	public String getNome() {
		return nome;
	}
	/**
	 * Set to nome.
	 * 
	 * @param nome to set nome
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}
	/**
	 * Get to descricao.
	 * 
	 * @return descricao
	 */
	public String getDescricao() {
		return descricao;
	}
	/**
	 * Set to descricao.
	 * 
	 * @param descricao to set descricao
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	/**
	 * Get to historia.
	 * 
	 * @return historia
	 */
	public String getHistoria() {
		return historia;
	}
	/**
	 * Set to historia.
	 * 
	 * @param historia to set historia
	 */
	public void setHistoria(String historia) {
		this.historia = historia;
	}
	/**
	 * Get to siteOficial.
	 * 
	 * @return siteOficial
	 */
	public String getSiteOficial() {
		return siteOficial;
	}
	/**
	 * Set to siteOficial.
	 * 
	 * @param siteOficial to set siteOficial
	 */
	public void setSiteOficial(String siteOficial) {
		this.siteOficial = siteOficial;
	}
	/**
	 * Get to nota.
	 * 
	 * @return nota
	 */
	public Long getNota() {
		return nota;
	}
	/**
	 * Set to nota.
	 * 
	 * @param nota to set nota
	 */
	public void setNota(Long nota) {
		this.nota = nota;
	}
		
}